回答編集履歴

3

コードの誤り修正

2021/02/09 11:50

投稿

ppaul
ppaul

スコア24670

test CHANGED
@@ -58,6 +58,6 @@
58
58
 
59
59
  df_all = pd.concat(df_list, axis=1)
60
60
 
61
- df.to_csv(file0, sep='\t')
61
+ df_all.to_csv(file0, sep='\t')
62
62
 
63
63
  ```

2

ミス修正

2021/02/09 11:50

投稿

ppaul
ppaul

スコア24670

test CHANGED
@@ -58,6 +58,6 @@
58
58
 
59
59
  df_all = pd.concat(df_list, axis=1)
60
60
 
61
- df.to_csv(file0, sep='\t')gyo2,d3,d4
61
+ df.to_csv(file0, sep='\t')
62
62
 
63
63
  ```

1

コード追加

2021/02/09 11:24

投稿

ppaul
ppaul

スコア24670

test CHANGED
@@ -1,3 +1,63 @@
1
- forループの中ではDataFrameを[pandas.DataFrame, Seriesを連結するconcat](https://note.nkmk.me/python-pandas-concat/)を使って横向きに連結していき、
1
+ forループの中ではDataFrameを貯めておき、forループを抜けてから[pandas.DataFrame, Seriesを連結するconcat](https://note.nkmk.me/python-pandas-concat/)を使って横向きに連結してdf.to_csv を一回だけ行えば良と思います。
2
2
 
3
+
4
+
5
+ 動作確認はできませんが、以下のような感じです。
6
+
7
+
8
+
9
+ ```python
10
+
11
+ def fun1():
12
+
13
+ file0 = "./test.csv"
14
+
15
+ client = bigquery.Client()
16
+
17
+ tableName = "test2"
18
+
19
+ tagName = "msajhdh5awiQ"
20
+
21
+ tag_list = []
22
+
23
+ if "Q" in tagName:
24
+
25
+ nums = re.sub("\D", "", tagName)
26
+
27
+
28
+
29
+ df_list = []
30
+
31
+ for num in reversed(range(1,int(nums))):
32
+
33
+ query = "SELECT Q{0}_start FROM `test_table.{1}`".format(num,tableName)
34
+
35
+
36
+
37
+ job_config = bigquery.QueryJobConfig(
38
+
39
+ query_parameters=[
40
+
41
+ bigquery.ScalarQueryParameter("tableName", "STRING", tagName),
42
+
43
+ bigquery.ScalarQueryParameter("tagName", "STRING", tagName)
44
+
45
+ ]
46
+
47
+ )
48
+
49
+
50
+
51
+ query_job = client.query(query)
52
+
53
+ df = query_job.result().to_dataframe()
54
+
55
+ df_lis.insert(0, df)
56
+
57
+ # df.shift(-1, axis=1)
58
+
59
+ df_all = pd.concat(df_list, axis=1)
60
+
3
- df.to_csv はforループを抜けてから一回だけ行えば良いと思います。
61
+ df.to_csv(file0, sep='\t')gyo2,d3,d4
62
+
63
+ ```