回答編集履歴
3
コードの誤り修正
answer
CHANGED
@@ -28,5 +28,5 @@
|
|
28
28
|
df_lis.insert(0, df)
|
29
29
|
# df.shift(-1, axis=1)
|
30
30
|
df_all = pd.concat(df_list, axis=1)
|
31
|
-
|
31
|
+
df_all.to_csv(file0, sep='\t')
|
32
32
|
```
|
2
ミス修正
answer
CHANGED
@@ -28,5 +28,5 @@
|
|
28
28
|
df_lis.insert(0, df)
|
29
29
|
# df.shift(-1, axis=1)
|
30
30
|
df_all = pd.concat(df_list, axis=1)
|
31
|
-
df.to_csv(file0, sep='\t')
|
31
|
+
df.to_csv(file0, sep='\t')
|
32
32
|
```
|
1
コード追加
answer
CHANGED
@@ -1,2 +1,32 @@
|
|
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
|
+
|
3
|
+
動作確認はできませんが、以下のような感じです。
|
4
|
+
|
5
|
+
```python
|
6
|
+
def fun1():
|
7
|
+
file0 = "./test.csv"
|
8
|
+
client = bigquery.Client()
|
9
|
+
tableName = "test2"
|
10
|
+
tagName = "msajhdh5awiQ"
|
11
|
+
tag_list = []
|
12
|
+
if "Q" in tagName:
|
13
|
+
nums = re.sub("\D", "", tagName)
|
14
|
+
|
15
|
+
df_list = []
|
16
|
+
for num in reversed(range(1,int(nums))):
|
17
|
+
query = "SELECT Q{0}_start FROM `test_table.{1}`".format(num,tableName)
|
18
|
+
|
19
|
+
job_config = bigquery.QueryJobConfig(
|
20
|
+
query_parameters=[
|
21
|
+
bigquery.ScalarQueryParameter("tableName", "STRING", tagName),
|
22
|
+
bigquery.ScalarQueryParameter("tagName", "STRING", tagName)
|
23
|
+
]
|
24
|
+
)
|
25
|
+
|
26
|
+
query_job = client.query(query)
|
27
|
+
df = query_job.result().to_dataframe()
|
28
|
+
df_lis.insert(0, df)
|
29
|
+
# df.shift(-1, axis=1)
|
30
|
+
df_all = pd.concat(df_list, axis=1)
|
2
|
-
df.to_csv
|
31
|
+
df.to_csv(file0, sep='\t')gyo2,d3,d4
|
32
|
+
```
|