我有一个python脚本,可将数据写入sqlite3数据库。它有26列,但是其中15列只需要1个单元格数据。
我不想将其包含15列,每个列包含1个数据单元,我只想将它们收集到一个(或两个)列中。我不知道如何使用Sqlite3做到这一点。我在想,也许将所有设置循环打印到前一或两列中,然后从那里写入数据库时告诉sqlite3忽略/跳过前几列。有可能吗?
稍后,我将数据库加载到用于sqlite的数据库浏览器中,并导出到csv,然后将它们加载到excel / google doc中。我希望避免从一开始就对其结构进行适当地构造,然后再导入excel / google doc后不必进行大量复制/粘贴。
当前数据库
| 1| Time | Type | Price | Amount | Gain | Market | Option 1 | Acc | Setting a | Setting b |
| 2|-----------|-------|----------|---------|----------|-----------|----------|---------|-----------|------------|
| 3| 22:12:15 | Buy | 660.33 | 0.0130 | 8.58429 | Market 1 | 0.00085 | DD_23 | 0.00233 | 5 |
| 4| 22:12:15 | Sell | 659.58 | 0.0070 | 4.61706 | | | | | |
| 5| 19:36:08 | Buy | 670.00 | 0.0082 | 5.49400 | | | | | |
| 6| 19:36:08 | Sell | 670.33 | 0.0058 | 3.88791 | | | | | |
| 7| 19:36:08 | Buy | 671.23 | 0.0060 | 4.02738 | | | | | |
| 8| 13:01:41 | Sell | 667.15 | 0.0015 | 1.00073 | | | | | |
| 9| 13:01:41 | Buy | 667.10 | 0.0185 | 12.3414 | | | | | |
|10| 07:14:36 | Sell | 657.55 | 0.0107 | 7.03579 | | | | | |
|11| 07:14:36 | Buy | 657.08 | 0.0005 | 0.32854 | | | | | |
|12| 07:14:36 | Sell | 656.59 | 0.0088 | 5.77799 | | | | | |
所需解决方案1:单列解决方案
| 1| Script info | Time | Type | Price | Amount | Gain |
| 2|-------------|-----------|-------|----------|---------|----------|
| 3| Market | 22:12:15 | Buy | 660.33 | 0.0130 | 8.58429 |
| 4| Market 1 | 22:12:15 | Sell | 659.58 | 0.0070 | 4.61706 |
| 5| Option 1 | 19:36:08 | Buy | 670.00 | 0.0082 | 5.49400 |
| 6| 0.00085 | 19:36:08 | Sell | 670.33 | 0.0058 | 3.88791 |
| 7| Acc | 19:36:08 | Buy | 671.23 | 0.0060 | 4.02738 |
| 8| DD_23 | 13:01:41 | Sell | 667.15 | 0.0015 | 1.00073 |
| 9| Setting a | 13:01:41 | Buy | 667.10 | 0.0185 | 12.3414 |
|10| 0.00233 | 07:14:36 | Sell | 657.55 | 0.0107 | 7.03579 |
|11| Setting b | 07:14:36 | Buy | 657.08 | 0.0005 | 0.32854 |
|12| 5 | 07:14:36 | Sell | 656.59 | 0.0088 | 5.77799 |
所需解决方案2:双列解决方案
| 1| Script info | Script settings | Time | Type | Price | Amount | Gain |
| 2|-------------|-----------------|-----------|-------|----------|---------|----------|
| 3| Market | Market 1 | 22:12:15 | Buy | 660.33 | 0.0130 | 8.58429 |
| 4| Option 1 | 0.00085 | 22:12:15 | Sell | 659.58 | 0.0070 | 4.61706 |
| 5| Acc | DD_23 | 19:36:08 | Buy | 670.00 | 0.0082 | 5.49400 |
| 6| Setting a | 0.00233 | 19:36:08 | Sell | 670.33 | 0.0058 | 3.88791 |
| 7| Setting b | 5 | 19:36:08 | Buy | 671.23 | 0.0060 | 4.02738 |
| 8| | | 13:01:41 | Sell | 667.15 | 0.0015 | 1.00073 |
| 9| | | 13:01:41 | Buy | 667.10 | 0.0185 | 12.3414 |
|10| | | 07:14:36 | Sell | 657.55 | 0.0107 | 7.03579 |
|11| | | 07:14:36 | Buy | 657.08 | 0.0005 | 0.32854 |
|12| | | 07:14:36 | Sell | 656.59 | 0.0088 | 5.77799 |
答案 0 :(得分:1)
编辑 [以探索评论中提到的想法]:
您可能无需使用15个列/值来描述选择组,
我不确定您要解决什么问题。这个
...我将数据库加载到用于sqlite的数据库浏览器中,然后导出到csv,然后 将它们加载到excel / google文档中。
向我表明这是一个手动过程。
此
写入数据库时,告诉sqlite3忽略/跳过前几个 列。
向我表明您只希望在导出中使用这些列。
Time | Type | Price | Amount | Gain
您是否可以编写查询SELECT time,type,price,amount,gain from thetable
,然后从结果面板右侧的小图标中选择“导出为CSV”?
也许更简单,如果您要丢弃“ 1-cell数据”,请不要首先加载它们。或者将它们加载到另一个表中(在python端)。
或者我可能不明白这个问题:)